﻿using Microsoft.SqlServer.Server;
using Microsoft.Win32.SafeHandles;
using MQXT.Repository.Base;
using MQXT.Repository.Model;
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MQXT.Repository.DAL
{




    public class CaiJiQiModelService : BaseRepository<CaiJiQiModel>
    {



        public void AddOrUpdate(CaiJiQiModel dto)
        {

            CaiJiQiModel dtoDB = Query("   CJQ_Addr='" + dto.CJQ_Addr + "'").FirstOrDefault();



            dto.CJQ_JCQ1 = Convert.ToInt32(dto.CJQ_JCQ1).ToString();
            dto.CJQ_JCQ2 = Convert.ToInt32(dto.CJQ_JCQ2).ToString();
            dto.CJQ_JCQ3 = Convert.ToInt32(dto.CJQ_JCQ3).ToString();
            dto.CJQ_JCQ4 = Convert.ToInt32(dto.CJQ_JCQ4).ToString();
            dto.CJQ_JCQ5 = Convert.ToInt32(dto.CJQ_JCQ5).ToString();
            dto.CJQ_JCQ6 = Convert.ToInt32(dto.CJQ_JCQ6).ToString();
            dto.CJQ_JCQ7 = Convert.ToInt32(dto.CJQ_JCQ7).ToString();
            dto.CJQ_JCQ8 = Convert.ToInt32(dto.CJQ_JCQ8).ToString();
            dto.CJQ_JCQ9 = Convert.ToInt32(dto.CJQ_JCQ9).ToString();
            dto.CJQ_JCQ10 = Convert.ToInt32(dto.CJQ_JCQ10).ToString();




            if (dtoDB == null || dtoDB.CJQ_Id == 0)
            {
                // add
                this.Add(dto);

            }
            else
            {
                // update


                dtoDB.CJQ_JCQ1 = (dto.CJQ_JCQ1).ToString();
                dtoDB.CJQ_JCQ2 = (dto.CJQ_JCQ2).ToString();
                dtoDB.CJQ_JCQ3 = (dto.CJQ_JCQ3).ToString();
                dtoDB.CJQ_JCQ4 = (dto.CJQ_JCQ4).ToString();
                dtoDB.CJQ_JCQ5 = (dto.CJQ_JCQ5).ToString();
                dtoDB.CJQ_JCQ6 = (dto.CJQ_JCQ6).ToString();
                dtoDB.CJQ_JCQ7 = (dto.CJQ_JCQ7).ToString();
                dtoDB.CJQ_JCQ8 = (dto.CJQ_JCQ8).ToString();
                dtoDB.CJQ_JCQ9 = (dto.CJQ_JCQ9).ToString();
                dtoDB.CJQ_JCQ10 = (dto.CJQ_JCQ10).ToString();



                dtoDB.CJQ_SIM = dto.CJQ_SIM;
                dtoDB.CJQ_Yb = dto.CJQ_Yb;
                dtoDB.CJQ_GPS = dto.CJQ_GPS;
                dtoDB.CJQ_Ver = dto.CJQ_Ver;
                dtoDB.CJQ_Count = dto.CJQ_Count;
                dtoDB.UpdateTIme = DateTime.Now;
                dtoDB.SesssionID = dto.SesssionID;

                this.Update(dtoDB);
            }

        }



    }




    public class CaiJiQiModelValueService : BaseRepository<CaiJiQiModelValue>
    {

    }


    public class JiZhongQiModelService : BaseRepository<JiZhongQiModel>
    {

        public void AddOrUpdate(JiZhongQiModel dto)
        {

            JiZhongQiModel dtoDB = Query("   Addr='" + dto.Addr + "'").FirstOrDefault();

            if (dtoDB == null || dtoDB.Id == 0)
            {

                // add
                this.Add(dto);

            }
            else
            {
                // update 
                dtoDB.SIM = dto.SIM;
                dtoDB.Yb = dto.Yb;
                dtoDB.GPS = dto.GPS;
                dtoDB.Ver = dto.Ver;
                dtoDB.SesssionID = dto.SesssionID;
                dtoDB.UpdateTIme = DateTime.Now;
                this.Update(dtoDB);
            }

        }


        public void EdgeUpdate(JiZhongQiModel dto)
        {

            this.Update(dto);


        }




    }




    public class DataShowModelService : BaseRepository<DataShowModel>
    {
        /// <summary>
        /// 
        // 从站地址   dto.CJQ_Yb
        // 寄存器     dto.CJQ_JCQ1
        // 寄存器值   cjqV.CJQ_JCQ1 
        /// </summary>
        public void AddOrUpdate(string Yb, string JCQ, string val)
        {
            int ipp = 0;

            int.TryParse(Yb, out ipp);

            Yb = ipp.ToString();

            JCQ = Convert.ToInt32(JCQ).ToString();
            if (!string.IsNullOrEmpty(val))
            {
                DataShowModel dto = Query("   Yb='" + Yb + "' and   JiCunQi='" + JCQ + "'  ").FirstOrDefault();

                if (dto == null || dto.Id == 0)
                {
                    // add
                    this.Add(new DataShowModel()
                    {
                        Yb = Yb,
                        JiCunQi = JCQ,
                        JiCunQiVal = val,
                        UpdateTime = DateTime.Now
                    });

                }
                else
                {
                    // update

                    dto.Yb = Yb;
                    dto.JiCunQi = JCQ;
                    dto.JiCunQiVal = val;
                    dto.UpdateTime = DateTime.Now;

                    this.Update(dto);
                }
            }
        }

        public string GetData(string czdz, int JCQ)
        {
            if (!string.IsNullOrEmpty(czdz))
            {
                DataShowModel dto = Query("   Yb='" + czdz + "' and   JiCunQi='" + JCQ + "'  ").FirstOrDefault();

                if (dto == null || dto.Id == 0)
                {
                }
                else
                {
                    return dto.JiCunQiVal;
                }
            }
            return "";
        }



    }



}
